package yt.xgk.controller;

import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import yt.xgk.entity.User;
import yt.xgk.utils.JwtUtil;

import javax.servlet.http.HttpServletRequest;

/*
jwt json web token 将信息进行安全的封装 将我们的信息进行封装处理 这个是进行授权的验证处理 系统在每次进行安全访问的时候
//都要进行安全的校验 进行完成之后进行校验处理（安全性能比较的高）
jwt 由3部分组成 yong.拼接
header playload  signature(签名)
 */
@RequestMapping("/user")
@CrossOrigin
@RestController
public class UserController {

    private final String USERNAME = "admin";
    private final String PASSword = "123";

    @GetMapping("/login")
    public User login(User user) {
        if (USERNAME.equals(user.getUsername()) && PASSword.equals(user.getPassword())) {
            user.setToken(JwtUtil.createToken());
            return user;
        } else {
            return null;
        }
    }

    @GetMapping("/checkToken")
    public Boolean checkToken(HttpServletRequest request) {
        String token = request.getHeader("token");//这个是获取我们的前台的token
        return JwtUtil.checkToken(token);//这里是进行校验我们的token是否有效
    }

}
